package com.atom.utils.device;

import android.content.Context;

/**
 * ============================================================
 * project: AtomLibrary-master
 * package: com.atom.utils
 * fileDescribe: 常用单位转换的辅助
 * user: admin
 * email: 1299854942@qq.com
 * createTime: 2017/7/17  16:14
 * modify:
 * version:: V1.0
 * ============================================================
 **/
public class DensityUtil {

    private DensityUtil(){

    }

    /**
     * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
     */
    public static int dp2px(Context context, float dpValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (dpValue * scale + 0.5f);
    }

    /**
     * 根据手机的分辨率从 px(像素) 的单位 转成为 dp
     */
    public static int px2dp(Context context, float pxValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (pxValue / scale + 0.5f);
    }

    /**
     * 根据手机的分辨率从 sp 的单位 转成为 px(像素)
     */
    public static int sp2px(Context context, float spValue) {
        final float scale = context.getResources().getDisplayMetrics().scaledDensity;
        return (int) (spValue * scale + 0.5F);
    }


    public static int px2sp(Context context, float pxValue) {
        final float scale = context.getResources().getDisplayMetrics().scaledDensity;
        return (int) (pxValue / scale + 0.5F);
    }
}  